gdal_translate on the ASCII grids, part of the GDAL open-source package. Something like so (I'm on Windows):
D:\Raster\panorama_gb_DTM\DTM\ASCII\data\hp>gdal_translate -of USGSDEM -a_srs WGS84 hp40.asc hp40.dem
I had to override the output spatial reference with the
-a_src flag to get this to work, and I'm not sure what coordinate system that data is in, as it ships with NO METADATA and their site isn't any help either. So you'd have to find that out for sure and then maybe force the EPSG code (EPSG:27700 for British National Grid, for example) on your output file. Here is the output DEM in QGIS:
Looks like outside the U.S., SRTM3 is the standard, and looking at this doc (which I found here from here), the standard calls for SRTM3 to be 1201x1201 pixels, which these grids are not. Now I'm stumped. Could you just use SRTM data from the USGS instead?
SRTM3 files contain 1201 lines and 1201 samples. The rows at the north
and south edges as well as the columns at the east and west edges of each
cell overlap and are identical to the edge rows and columns in the adjacent
cell. SRTM1 files contain 3601 lines and 3601 samples, with similar overlap.